1. Field of the Invention
The present invention relates generally to a computer-implemented software development framework and, more particularly, to a software development system for constructing applications that are to be embedded in one or more microcontrollers residing on a motor vehicle.
2. Discussion
Designing, developing and manufacturing automobiles is an extremely complex process that involves numerous engineering and calibration groups. Similarly, the design and development of embedded controller software for use in an automobile is a complex process that involves numerous engineering groups.
Typically, the algorithms which serve as the basis for the embedded controller software are developed by one or more engineering groups. During the course of development, numerous vehicle parameters are identified for use in the software. The nomenclature for these vehicle parameters tends to be very descriptive. The software developers then convert the algorithms into source code which serves as the basis for the object code to be embedded into the vehicle""s controller. Due to software variable naming constraints provided by the particular programming language, the software variable names found on the source code and object code are not always helpful when trying to identify a vehicle parameter. For the engineers and calibrators who subsequently test, calibrate and implement the object code into the vehicle""s controller, there is a need for a mapping between the descriptive vehicle parameter names and the memory location of the parameter in the object code.
In addition, vehicle parameter information for embedded controller software is typically duplicated in a multitude of files, folders or documents by each of the groups involved with the development process. In some cases, certain vehicle parameter information are not at all documented within the software development environment.
Therefore, it is desirable to provide a computer-implemented software development system for constructing applications that are to be embedded in one or more microcontrollers residing on a motor vehicle. The software development system should provide a centralized location for vehicle parameter information, eliminate redundancy in vehicle parameter storage, and standardize report formats. The present invention includes a data dictionary that has been designed and implemented to facilitate software development. More specifically, the data dictionary serves as a standard reference tool that contains information about each of the data parameters generated during the software development process. In this way, the data parameters are centralized, without duplication, for use by all of the parties involved with the development and implementation of software.
In accordance with the present invention, a computer-implemented software development system is provided for constructing applications that are embedded in a microcontroller of a motor vehicle. The development system includes a data dictionary which stores data type information for a plurality of vehicle parameters and is able to generate a parameter definition file having data type information for each vehicle parameter associated with a first application. A calibration repository is used to generate a calibratable file for the first application, where the calibratable file includes calibratable vehicle information and controller executable instructions for the first application. The parameter definition file and the calibratable file are then used by a calibration tool to calibrate the first application in relation to a particular motor vehicle.